python中json的基本用法 您所在的位置:网站首页 python os 用法 python中json的基本用法

python中json的基本用法

2023-05-17 03:21| 来源: 网络整理| 查看: 265

**1.**JSON简介

json是一种数据格式,也是一种轻量级数据交换格式,是用于数据储存和传输的数据格式,它基于javascript的对象字面量语法,也可以用于其他编程语言。它利用文本格式来支持数据的无损压缩、易于理解和读写、易于解析和生成,因此广泛用于Web应用程序之间的数据交换。JSON由键值对组成,可以嵌套使用,常见的文件扩展名为.json。前端和后端进行数据交互,其实就是JS和Python进行数据交互!

**2.**JSON 语法规则

JSON 语法是 JavaScript 对象表示语法的子集。

数据在名称/值对中 数据由逗号 , 分隔 使用斜杆 ** 来转义字符 大括号 {} 保存对象 中括号 [] 保存数组,数组可以包含多个对象

**3.**json的两种结构

1.对象:大括号 {} 保存的对象是一个无序的名称/值对集合。一个对象以左括号 { 开始, 右括号 } 结束。每个”键”后跟一个冒号 :,名称/值对使用逗号 , 分隔。格式为:{key1 : value1, key2 : value2, ... keyN: valueN}

例如:

{“name”:”wz”,”age”:”17”,”博客”:”https://wz-35.github.io/"}

2.数组: 中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array),它们是可以嵌套。数组可包含多个对象,格式为:

1234567[ { key1 : value1-1 , key2:value1-2 }, { key1 : value2-1 , key2:value2-2 }, { key1 : value3-1 , key2:value3-2 }, ... { key1 : valueN-1 , key2:valuenN-2 }, ]

例如:

[

{“name”:”wz”,”age”:”17”,”博客”:”https://wz-35.github.io/"}

{“name”:”lk”,”age”:”16”,”博客”:”https://wz-35.github.io/"}

{“name”:”wy”,”age”:”15”,”博客”:”https://wz-35.github.io/"}

]

**4.**JSON数据类型Python 编码为 JSON 类型转换对应表::

PYTHON JSON dict object list, tuple object str, unicode string int, long, float number True true False false None null

JSON 解码为 Python 类型转换对应表:

JSON PYTHON object dict array list string str number (int),number (real) int, float true True false False null None

5.json的常用方法:

方法 描述 json.dumps() 将 Python 对象编码成 JSON 字符串 json.loads() 将已编码的 JSON 字符串解码为 Python 对象 json.dump() 将Python内置类型序列化为json对象后写入文件 json.load() 读取文件中json形式的字符串元素转化为Python类型

总结一下,带s的,都是对都是内存操作,不涉及持久化,不带s的都是对文件的操作。

简单举几个栗子:

​ 1.字典转化为json对象:

​ import json

​ data1={

​ "name":'wz',

​ "age":17,

​ "aa":'https://wz-35.github.io/'

​ }

​ json_str1=json.dumps(data1)

​ print(json_str1)

​ 输出结果为:

​ {"name": "wz", "age": 18, "aa": "https://wz-35.github.io"}

​ 2.列表转化为json对象:

​ import json

​ data1 = [

​ 'wz',​ 17,​ 'https://wz-35.github.io'​ ]

​ json_str1 = json.dumps(data1)​ print(json_str1)

​ 输出结果为:

​ ["wz", 18, "https://wz-35.github.io"]

​ 3.元组转化为json:

​ import json

​ data1 = (

​ 'wz',​ 17,​ 'https://wz-35.github.io'​ )

​ json_str1 = json.dumps(data1)​ print(json_str1)

​ 输出结果为:

​ ["wz", 18, "https://wz-35.github.io"]

​ 4.将json字符串解码成Python对象 :

​ 在上面第一段代码下面加上一段代码变为:

​ import json

​ data1 = {

​ “name”: ‘wz’,

​ “age”: 17,

​ “aa”: ‘https://wz-35.github.io/'

​ }

​ json_str1 = json.dumps(data1)​ print(json_str1)​ data2=json.loads(json_str1)​ print(data2)

​ 就可以把json转化为字典了。输出结果为:

{“name”: “wz”, “age”: 17, “aa”: “https://wz-35.github.io/"} {‘name’: ‘wz’, ‘age’: 17, ‘aa’: ‘https://wz-35.github.io/'}

其实json格式和字典很像,其区别为:

JSON是一种数据格式,而字典是一种数据结构。JSON格式与字典类似,都是由键值对组成的,但它们有一些不同之处:

JSON是一种文本格式,常用于数据交换。而字典是一种内存中的数据结构,常用于编程语言中存储和处理数据。JSON的键必须是字符串类型,值可以是任意类型,包括字符串、数字、布尔值、数组和嵌套的JSON对象。而字典的键可以是任意可哈希类型,值可以是任何类型,包括其他字典。JSON严格要求属性名和字符串值必须用双引号括起来。而Python中的字典没有这样的限制。

总之,JSON和字典都是用来存储和传输数据的工具,但它们的应用场景和特点有所不同。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有